﻿<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">

<link rel="stylesheet" type="text/css" media="screen" href="css/redmond/jquery-ui-1.10.3.custom.min.css" />	<!-- jqueryUI CSS -->
<link rel="stylesheet" type="text/css" media="screen" href="css/selfTemplate.css" />						<!-- 本專案自行定義 CSS -->
<script src="js/jquery-1.10.2.min.js"></script>																						<!-- jQuery 核心 -->
<script src="js/jquery-ui-1.10.3.custom.js" type="text/javascript"></script>							<!-- jqueryUI 核心 -->
<script src="js/jquery.cookie.js" type="text/javascript"></script>																	<!-- 操作cookie用 -->
<script src="js/widgets.js" type="text/javascript"></script>												<!-- 本專案自行定義 JS -->

<title>交付申請 </title>

<script type="text/javascript">

var gfu = [];	/*	General File Unit 的縮寫	*/
var furu = [];	/*	File Under Requirement Unit 的縮寫	*/
var fl = [];
var ml = [];
var sq = [];	//資源群組清單
var tmp = "";

/**
 * 共用程式區  的新增
 * actNum 表示在修改時，操作的是那一筆選中的共用程式
 */
function addComFiles(actType,actNum){
	if (actType=='add') {
		clearCommTable();
		$(".cf").attr("disabled",true);	//尚未選擇檔案前，前檔案的編輯內容予以diable
		tmp = "創建共用程式";
	} else {
		$(".cf").attr("disabled",false);	//選擇檔案後，將檔案的編輯功能予以enable
		scfInd = $("."+actNum).attr("scfInd");
		
		$("#commSelName").val( $("tr."+actNum+" td#scfName").html() );							//檔名
		$("#commDepPath").val( $("tr."+actNum+" td#scfDepPath").html() );						//延伸路徑
		$("#commSqList").html( $("tr."+actNum+" td#scfSqList").html() );							//資源群組
		$("#commSVNPath").html( $("tr."+actNum+" td#scfSVNPath").html() );						//SVN上的路徑
		genOption($("#commVerSet").val(), $("tr."+actNum+" td#scfFileVer").html(), "commFileVer");	//版次

		tmp = "<div id='forRemoveReqList'><hr/><table id='tableReqList'><tr><th><button type='button' onclick=\"queryReqWindowOpen('underFile')\">+</button></th><th>＃</th><th>需求編號</th><th>需求名稱</th></tr><tbody id='tbodyReqList'></tbody></table></div>";
		$("#reqList").html(tmp);

		$("tr."+actNum+" td#scfReqList ul li").each(function(i) {	//需求
			tmp = "<tr id='"+$(this).attr("reqid")+"'><td class='center'><button type='button' onclick=\"removeTar(this,'tableReqList','1')\">-</button></td><td class='center engN'>"+(i+1)+"</td><td class='right engN'>"+$(this).attr("reqid")+"</td><td>"+$(this).html()+"</td></tr>";
			$("#tableReqList").append(tmp);	
		});
		refreshUI(1,"tableReqList",false);
		tmp = "更新共用程式";
	}
	$("#commonFileSelect").attr("title",tmp).css("visibility", "visible").dialog({
		resizable : false,
		width : 630,
		modal : true,
		show: "slide",
		hide: "slide",
		buttons : {
			"確定" : function() {
				/*	確認已選的檔案中，是否已經存在和現在相同的檔案	*/
				/*	檔名相同, 延伸路徑相同, 資源群組相同 (三者同時成立，但資源群組是該群中，存在任何一個相同就不行了)	*/
				isDuplicated = false;
				for ( i=0; i < $(".commFileInd").size() ; i++ ) {
					/*	第一個IF 先判斷 檔名和延伸路徑都相同	*/
					if (actType=='update' && scfInd==(i+1)) { continue; }	//修改時，不能和既有的自己做比對，這樣一定會錯
										
					/*	名字相同，而且延伸路徑也相同 */
					if ( $("tr[scfInd='"+(i+1)+"'] #scfName").html()==$("#commSelName").val() && $("tr[scfInd='"+(i+1)+"'] #scfDepPath").html()==$("#commDepPath").val() ) {
						
						/*	再判斷資源群組有任何一個相同 */
						$("tr[scfInd='"+(i+1)+"'] #scfSqList li").each(function(j,str){	//這個 each 是已選檔案中的資源群組清單
							$("#commSqList li").each(function(k,str2) {			//這個 each 是新增畫面中的 資源群組清單
								if (str.innerHTML == str2.innerHTML) { isDuplicated=true; }
							});
						});
					}
				}
				
				
				/*	檢查資源群組是否有輸入	*/
				if ( $("#commonFileSelect ul li").size() == 0 ) {
					alert("請為程式選擇資源群組");
				} else if ( $("#tbodyReqList tr").size() == 1 )  {	// 檢查是否有選擇需求
					alert("請為程式選擇需求");
				} else if ( isDuplicated ) {	
					alert("存在重覆的共用程式設定");
				} else {
					if (actType=='add') {
						manipuMaster('underFile');	
					} else {
						reqLists = "<ul>";
						$("#tbodyReqList td:nth-child(4n)").each(function(i,str){
							reqLists += ("<li reqId='"+$("#tbodyReqList td:eq("+(2+(4*i))+")").html()+"' >"+str.innerHTML+"</li>");
						});
						reqLists += "</ul>";
						$("tr[scfInd='"+scfInd+"'] #scfName").html( $("#commSelName").val() );						//程式名稱
						$("tr[scfInd='"+scfInd+"'] #scfSVNPath").html( $("#commSVNPath").html() );					//SVN路徑
						$("tr[scfInd='"+scfInd+"'] #scfDepPath").html( $("#commDepPath").val() );					//延伸路徑
						$("tr[scfInd='"+scfInd+"'] #scfFileVer").html( $("#commFileVer option:checked").val() );	//版次
						$("tr[scfInd='"+scfInd+"'] #scfSqList").html( $("#commSqList").html() );					//資源群組
						$("tr[scfInd='"+scfInd+"'] #scfReqList").html( reqLists );									//需求
					}
					clearCommTable();
					
					/*	將子系統選項鎖定 */
					chkIfLockSubSys();
					
					/**	判斷能否讓提交的按鈕出現 **/
					chkIfSubmitAble();
					
					$(this).dialog("close");
				}
			},"關閉" :function() {
				/*	畫面關閉前，將畫面值清空	*/
				clearCommTable();
				$(this).dialog("close");
			}
		}
	});
}

/**
 * 需求下轄程式  的新增
 */
function addReqFileMixd(actType,reqId) {
	$("#reqSelectedId").val("");		//先將原本的需求ID清空
	$("#reqSelectedVal").val("");		//先將原本的需求說明清空
	$("#forRemoveFileSelect").remove();	//將原本的選的檔案或Header清空	
	
	$("#reqFileComp").css("visibility", "visible").dialog({
		width : 1184,
		height : 400,
		modal : true,
		show: "slide",
		hide: "slide",
		buttons : {
			"確定" : function() {	//將設定的檔案寫入交付清單
			/**	檢查
				1. 確定有選擇需求和檔案
				2. 檔案名稱相同下，部署路徑及部署Squad的組合 是否重覆
				3. 需求是否重覆
				4. 部署Squad為必填
			*/
			
			/*	檢查資源群組是否皆有輸入	*/
			var isSquadSelected = true;
			$("#fileReqMapping tr").each(function(i,strSquad1) {
				if( i > 0) {
					$("#fileReqMapping tr:nth-child("+(i+1)+") td:last ul").each(function(j,strSquad2) {
						strSquad2 = strSquad2.innerHTML;
						if (strSquad2.indexOf("li") == -1 && strSquad2.indexOf("LI") == -1) {
							isSquadSelected = false;
						}
					});		
				}
			});
			
			if ( !isSquadSelected ) {
				alert("請為每支程式選擇資源群組.");
			} else {
				//檢查需求ID沒有重覆
				var isReqidDuplicated = false;
				var pt = (actType=="update"?1:0);
				if ( $(".mH").size() > pt ) {	//更新的長度和新增的長度會差一
					$(".td_reqid").each(function(i,str) {
						if ( str.innerHTML == $("#reqSelectedVal").val() ) {
							isReqidDuplicated = true;
						}
					});	
				}
				
				if ( $("#fileReqMapping tr").size() == 1 )  {	// 檢查是否有body
					alert("請選擇檔案");
				} else if (isReqidDuplicated) {
					alert("需求重覆");			
				} else if ( $("#reqSelectedVal").val() == "" ) {
					alert("請選擇需求");
				} else {
					if ( actType=="add" ) {	
						//執行新增的動作
					} else if ( actType=="update" ) {	//執行更新的動作
						// 需求ID有沒有重覆
						$("#deliList #"+reqId).remove();
						$("#deliList .undReq."+reqId).remove();
						
					} // end of else if
					
					manipuMaster('underReq');
					/* 部署位置的那行做斑紋 */
					$(".undReq:odd").attr("bgcolor","#CCCCCC");		//灰色
					$(".undReq:even").attr("bgcolor","#FFFFFF");	//白色		
					
					
					/*	將子系統選項鎖定 */
					chkIfLockSubSys();
					
					/**	判斷能否讓提交的按鈕出現 **/
					chkIfSubmitAble();
					
					$(this).dialog("close");
				}
			}
		},"關閉" : function() { $(this).dialog("close"); }
		}
	});	// end of dialog
}

/* 對mapping Table 進行操作 */
function manipuMaster(type) {
	
	if (type == 'underReq') {
		//先寫入需求
		var reqId = $("#reqSelectedId").val();		//需求的流水號 <for資料運算用>
		var reqVal = $("#reqSelectedVal").val();		//需求說明文字 <for使用者識別>
		var fileSelectSize = $("#fileReqMapping tr").size();
		
		/** 為了確保不會重複產生Header **/
		if ( !$("#deliList").length ){	
			var tmp = "<div id='removeHook'><hr/><p><table id='deliList'><thead class='tableFirst'><tr><th>&nbsp;</th><th>＃</th><th>需求編號</th><th>程式名稱</th><th>版次</th><th>執行方式</th><th>延伸路徑</th><th>資源群組</th></tr></thead></table></div>";
			$("#reqHook").append(tmp);	
		}
		var idx = $("#deliList tr button").size()+1;	//為了清單上的流水號
		
		var bgc= "white";
		if ( idx%2 ==1) {
			bgc= "#EAF4FD";
		}
		
		var tmp = "<tr bgcolor='"+bgc+"' ondblclick=\"updateReqFileMapping('"+reqId+"','"+reqVal+"')\" id='"+reqId+"' class='"+reqId+" mH'>"+
				"<td rowspan='"+fileSelectSize+"'><button type='button' onclick=\"removeDeliListItem('"+reqId+"')\">—</button></td>"+
				"<td class='right engN' rowspan='"+fileSelectSize+"'>"+idx+"</td>"+
				"<td class='td_reqId content' rowspan='"+fileSelectSize+"'>"+reqVal+"</td>"+
				"</tr>";
		$("#deliList").append(tmp);
		
		$("button").button();
		//再寫入程式
		$("#fileReqMapping tr").each(function(i,str) {
			if( i > 0) {
				var svnPath = $("#fileReqMapping tr:nth-child("+(i+1)+") td:eq(5)").html();
				var fileName = $("#fileReqMapping tr:nth-child("+(i+1)+") td:nth-child(3)").html();
				var verSet = $("#fileReqMapping tr:nth-child("+(i+1)+") td:nth-child(4) select").attr("verSet");
				tmp = "<tr id='under"+reqId+"TR"+i+"' svnPath='"+svnPath+"' ondblclick=\"updateReqFileMapping('"+reqId+"','"+reqVal+"')\" class='"+reqId+" undReq'>"+
				//程式名稱
				"<td id='under"+reqId+"FileName"+i+"' class='engN under"+reqId+"FileName content'>"+$("#fileReqMapping tr:nth-child("+(i+1)+") td:eq(2)").html() +"</td>"+
				//程式版次
				"<td id='under"+reqId+"FileVer"+i+"' verSet='"+verSet+"' class='right engN content'>"+$("#fileReqMapping tr:nth-child("+(i+1)+") td:nth-child(4) select option:selected").html() +"</td>"+
				//部署方式 web or non-web
				"<td id='under"+reqId+"DepType"+i+"' class='engN content'>"+$("#fileReqMapping tr:nth-child("+(i+1)+")  td:nth-child(5) select option:selected").html()+"</td>"+
				//部署路徑
				"<td id='under"+reqId+"DeployPath"+i+"' class='engN content'>"+$("#fileReqMapping tr:nth-child("+(i+1)+") td:nth-child(7) input").val()+"</td>"+
				//資源群組
				"<td id='under"+reqId+"DeploySquad"+i+"'>"+$("table#fileReqMapping tr:nth-child("+(i+1)+") td:last").html() +"</td>"+
				"</tr>";
				$("#deliList").append(tmp);
			}
		});
		
		var num = $(".mH").size()-1;
		for (ini =0; ini<num; ini++) { $("#deliList tr td:nth-child(2)").get(ini).innerHTML=(ini+1); }	
		
		$("#csb").show();
	} else {
		if ( !$("#commFileList").length ){	
			tmp = "<div id='removeCommHook'><hr/><p><table id='commFileList'><thead class='tableFirst'><tr><th>&nbsp;</th><th>＃</th><th colspan='2'>檔案簡介</th><th>資源群組</th><th>需求編號</th></tr></thead></table></div>";
			$("#commonFilesHook").append(tmp);	
		}
		
		reqLists = "<ul>";
		$("#tbodyReqList td:nth-child(4n)").each(function(i,str){
			reqLists += ("<li reqId='"+$("#tbodyReqList td:eq("+(2+(4*i))+")").html()+"' >"+str.innerHTML+"</li>");
		});
		reqLists += "</ul>";
		
		commFileNum =$(".commFileInd").size()+1;	
		
		scfid= new Date().getTime();	//取得目前的Timestamp，做為畫面這筆"共用程式"的ID 
		/*scf 即 Selected Common File 縮寫*/
		
		tmp =	"<tr class='"+scfid+"' ondblclick=\"addComFiles('update',"+scfid+")\">"+
					"<td rowspan='5' class='center'><button type='button' onclick=\"removeComm(this,'commFileList','"+scfid+"')\">-</button></td>"+
					"<td rowspan='5' class='commFileInd right engN'>"+commFileNum+"</td>"+
					"<td class='right'>檔&nbsp;&nbsp;名&nbsp;&nbsp;：</td><td class='engN' id='scfName'>"+ $("#commSelName").val() +"</td>"+
					"<td rowspan='5' id='scfSqList'>"+$("#commSqList").html()+"</td>"+		//資源群組
					"<td rowspan='5' id='scfReqList'>"+reqLists+"</td>"+					//需求
			   	"</tr>"+
			   	"<tr class='"+scfid+"' bgcolor='#CCCCCC' ondblclick=\"addComFiles('update',"+scfid+")\">"+	//執行方式
					"<td class='right'>執行方式：</td><td class='engN' id='scfExeWay'>"+ $("#commExeWay option:selected").val() +"</td>"+
				"</tr>"+
				"<tr class='"+scfid+"' ondblclick=\"addComFiles('update',"+scfid+")\">"+	//SVN路徑
					"<td class='right'>SVN路徑：</td><td class='engN' id='scfSVNPath'>"+ $("#commSVNPath").html() +"</td>"+
				"</tr>"+
				"<tr class='"+scfid+"' bgcolor='#CCCCCC' ondblclick=\"addComFiles('update',"+scfid+")\">"+
					"<td class='right'>延伸路徑：</td><td class='engN' id='scfDepPath'>"+ $("#commDepPath").val() +"</td>"+
				"</tr>"+
				"<tr class='"+scfid+"' ondblclick=\"addComFiles('update',"+scfid+")\">"+
					"<td class='right'>版&nbsp;&nbsp;次&nbsp;&nbsp;：</td><td class='engN' id='scfFileVer'>"+ $("#commFileVer option:checked").val() +"</td>"+
				"</tr>";
		$("#commFileList").append(tmp);
		$("."+scfid).attr("scfInd",commFileNum);
	}
}


/** 輸入了查詢需求的條件，用來查詢需求 **/
function queryReqWindowOpen(reqFor){
	$("#reqFor").val(reqFor);
	queryReq();
	$("#reqSelect").css("visibility", "visible").dialog({
		resizable : false,
		width : 700,
		height : 450,
		show: "slide",
		hide: "slide",
		modal : true,
		buttons : {
			"關閉" : function() {
				$("#reqSelectResult").css("visibility", "hidden");
				$(this).dialog("close");
			}
		}
	});
}

/**	判斷能否讓提交的按鈕出現 **/
function chkIfSubmitAble() {
	if ( $("#deliList tr").size()==0 && $("#commFileList tr").size()==0 ) { //共用程式，程需求下轄程式都沒有值了
		$("#csb").hide();
	} else {
		$("#csb").show();
	}
}

/** 移除交付清單內的項目 **/
function removeDeliListItem(tar) {
	$("."+tar).remove();
	if ($("#deliList tr").length ==1 ) {
		$("#removeHook").remove();
	}
	
	for(i=0;i<furu.length;i++) {
		if (furu[i].reqSN == tar) {
			furu.splice(i,1);
			break;
		}
	}
	
	/*	檢查是否要解決對子系統選項 的 鎖定 */
	chkIfLockSubSys();
	/**	判斷能否讓提交的按鈕出現 **/
	chkIfSubmitAble();
}

/** 雙擊以變更需求與程式間的對應 **/
function updateReqFileMapping(reqId,reqVal) {
	$("#fileSelect #drivenBy").val("req");
	addReqFileMixd("update",reqId);					//為了使用畫面中 squad選定的檢查
	
	$("#reqSelectedVal").val(reqVal);
	selectReq(reqId,reqVal,'update');
	
	$(".under"+reqId+"FileName").each(function(i,str) {
		var fileName = str.innerHTML;
		var ver = $("#under"+reqId+"FileVer"+(i+1)).html();
		fileName = fileName.replace(/\./g, '__');
		var SVNpath = $("#under"+reqId+"TR"+(i+1)).attr("svnPath");
		var verSet = $("#under"+reqId+"FileVer"+(i+1)).attr("verSet");
		selectFile(fileName,SVNpath,verSet,ver,reqId,'1');	//模擬SVN 搜尋後，選擇了某個檔案
		var depPath = $("#under"+reqId+"DeployPath"+(i+1)).html();
		var tar = "fileReqMapping #dep_"+SVNpath+"/"+fileName+(i+1);
		tar = tar.replace( new RegExp ( "/" , "gm" ), "\\/");
		$("#"+tar).val(depPath);
		
		var depSquad = $("#under"+reqId+"DeploySquad"+(i+1)+" ul").html();
		tar = "fileReqMapping #ul_"+SVNpath+"/"+fileName+(i+1);
		tar = tar.replace( new RegExp ( "/" , "gm" ), "\\/");
		$("#"+tar).append(depSquad);	
	});
}

/** 按下提交予分公司 **/
function clickSubmit() {
	
	windowFreeze("交付中...");
	
	$("#q_form #subsysId").val( $("select#subsysId option:selected").val() );
	
	/*	共用程式處理	*/
	
	/*
	1. UI 分成兩種提交
	2. 後端
		2.1 執行共用程式
		
	3. 顯示時, 先處理各別，再顯示共用
	**/ 
	commFileNum = $("#commFileList tr").size();	//僅一筆時，size的值為是6
	if ( commFileNum > 5 ) {
		commFileNum = ( (commFileNum-1) / 5 );	//因為每一筆共用程式會產生5個tr (commFileList 的tr數 1,5,9,13,17)
		gfu = [];
		for(i=0; i<commFileNum; i++ ) {
			fileName = $("#commFileList tr:eq("+((5*i)+1)+") td:eq(3)").html();
			depType = $("#commFileList tr:eq("+((5*i)+2)+") td:eq(1)").html();
			svnPath = $("#commFileList tr:eq("+((5*i)+3)+") td:eq(1)").html();
			depPath = $("#commFileList tr:eq("+((5*i)+4)+") td:eq(1)").html();
			fileVer = $("#commFileList tr:eq("+((5*i)+5)+") td:eq(1)").html();
			
			sq = [];	//資源群組
			$("#commFileList tr:eq("+((5*i)+1)+") td:eq(4) ul li").each(function(r,level3){	
				tmp = level3.innerHTML;
				subsysid = tmp.split("-")[0].substring(tmp.split("-")[0].indexOf('(')+1,tmp.split("-")[0].length-1);
				sqid = tmp.split("-")[1].substring(tmp.split("-")[1].indexOf('(')+1,tmp.split("-")[1].length-1);
				sq.push({subsysid:subsysid,sqid:sqid});
			});
			
			rq = [];
			$("#commFileList tr:eq("+((5*i)+1)+") td:eq(5) ul li").each(function(r,level3){	
				tmp = $(level3).attr("reqid");
				rq.push({reqid:tmp});
			});
			
			gfu.push({fileName:fileName,depType:depType,svnPath:svnPath,depPath:depPath,fileVer:fileVer,comReqsNum:rq.length,sqs:sq,rqs:rq});
		}
		$("#gfl").val(JSON.stringify(gfu));
		$("#isGFLExisted").val(true);
	} else {
		$("#isGFLExisted").val(false);
	}
	
	
	/*	個別需求下的檔案處理	*/
	if ( $(".mH").size() > 0 ) {
		$("#isFURLExisted").val(true);
		
		$(".mH").each( function(i,res) {	//需求
			// **需求  >> 檔案 >> 資源群組
			var reqSN = $(res).attr("id");
			fl = [];
			
			$("."+reqSN+".undReq").each(function(j,detail){
				// 需求  >> **檔案 >> 資源群組
				var fileName = $("#under"+reqSN+"FileName"+(j+1)).text();
				var ver = $("#under"+reqSN+"FileVer"+(j+1)).text();
				var depType = $("#under"+reqSN+"DepType"+(j+1)).text();
				var depPath = $("#under"+reqSN+"DeployPath"+(j+1)).text();
				var svnPath = $("#under"+reqSN+"TR"+(j+1)).attr("svnPath");
				
				sq = [];
				$("#under"+reqSN+"DeployPath"+(j+1)).next().children("ul").children("li").each(function(r,level3){
					// 需求  >> 檔案 >> **資源群組
					tmp = level3.innerHTML;
					subsysid = tmp.split("-")[0].substring(tmp.split("-")[0].indexOf('(')+1,tmp.split("-")[0].length-1);
					sqid = tmp.split("-")[1].substring(tmp.split("-")[1].indexOf('(')+1,tmp.split("-")[1].length-1);
					sq.push({subsysid:subsysid,sqid:sqid});
				});
				fl.push({fileName:fileName,depType:depType,ver:ver,depPath:depPath,svnPath:svnPath,sq:sq});
			});
			furu.push({reqSN:reqSN,fl:fl});
		});
		
		/*	確定 furu 內容不為空	*/
		$("#furl").val(JSON.stringify(furu));
		
		//$("#comment").val( $("#furl").val());
		
	} else {
		$("#isFURLExisted").val(false);
	}
	
	
	/*	取得寄信名單	*/
	fl = [];
	$(".mailList").each(function(i,res) {
		var isChecked = $(this).prop('checked');
		if (isChecked) { ml.push({email:$(res).attr('eml') ,name:$(res).attr('une') }); }
	});
	$("#ml").val(JSON.stringify(fl));
	
	windowUnfreeze();
	$("#targetSystemId").val( $("#selectSysNo option:selected").val() );
	$("#delTaskComment").val( $("#comment").val() );
	$.post("DeliverFile",$("#q_form").serializeArray(),function(res) {
		alert("產生交付序號為\n"+res);
	},"JSON");
	
	gfu = [];
	furu = [];
	$("#csb").hide();
}

function clearCommTable() {
	$("#commSelName").val("");					//檔案名稱 (input:text)
	$("#commExeWay option").remove();			//部署方式	
	$("#commSVNPath").html("");					//SVN路徑 (td)
	$("#commDepPath").val("");					//延伸路徑 (input:text)
	$("#commFileVer option").remove();			//版次 (select)
	$("#commonFileSelect ul li").remove();		//資源群組 (li)
	$("#forRemoveReqList").remove();			//對應的需求 (div)
}

/** 雙擊了查詢出來的某需求 **/
function selectReq(reqId,reqDesc,reqFor) {
	
	/**
		1. 完整性檢查
		2. 寫入對方SVN，同時回寫mapping記錄
	*/
	var isExisted = $("#deliList tr").is("#"+reqId);	//確認目前交付的清單中，是否存在這個需求
	if (reqFor == 'underFile') {
		isExisted = $("#tbodyReqList tr").is("#"+reqId);	//確認目前交付的清單中，是否存在這個需求
		if ( !isExisted ) {
			var idx = $("#tbodyReqList tr").size()+1;
			var tmp = "<tr id='"+reqId+"'><td class='center'><button type='button' onclick=\"removeTar(this,'tableReqList','1')\">-</button></td><td class='center engN'>"+idx+"</td><td class='right engN'>"+reqId+"</td><td>"+reqDesc+"</td></tr>";
			$("#tableReqList").append(tmp);	
			refreshUI(1,"tbodyReqList",false);
		} else {
			alert("此需求已存在！");
		}
	} else if ( !isExisted || reqFor=='update' ) {
		$("#reqSelectedId").val(reqId);
		$("#reqSelectedVal").val(reqDesc);
		
		$("#reqSelectResult").css("visibility", "hidden");
		/** 為了確保不會重複產生Header **/
		if ( !$("#fileReqMapping").length >0 ){	
			tmp = "<div id='forRemoveFileSelect'><hr/><table id='fileReqMapping'><thead class='tableFirst'><tr><th><button type='button' onclick=\"selectSVN('req')\">+</button></th><th>＃</th><th>檔名</th><th>版次</th><th>執行方式</th><th>SVN路徑</th><th>延伸路徑</th><th>&nbsp;</th><th>資源群組</th></tr></thead></table></div>";
			$("#fileHook").append(tmp);	
		}
		$("#reqSelect").dialog("close");
	} else {
		alert("此需求已存在！");
	}
	
	refreshUI(1,"reqSelectResult_tb",false);
}


function queryReq() {
	
	var subsysId = $("select#subsysId option:selected").val(); 
	
	$.post("QueryReq",{fc:"delivery",subsysId:subsysId,reqId:$("#reqID_q").val(),reqSN:$("#reqSN_q").val()},function(reses) {
		$("#reqSelectResult_tb tr").remove();
		$.each(reses,function(i, res) {
			tmp = "<tr ondblclick=\"selectReq('"+res.s2+"','"+res.s1+"','"+ $("#reqFor").val() +"')\"><td class='int'>"+(i+1)+"</td><td class='int'>"+res.s2+"</td><td>"+res.s1+"</td></tr>";
			$("#reqSelectResult_tb").append(tmp);
		});
		refreshUI(1,"reqSelectResult_tb",false);
	},"JSON");
	$("#reqSelectResult").css("visibility", "visible");
}

$(document).ready(function() {
	init("delivery.html");
	var t = querySubsys( $.cookie("empId"),$.cookie("pageName"),"subsysId");
	
	if ( t == 1 ) {
		windowFreeze("畫面初始中");
		
		
		$("#q_form #loginUser").val( $.cookie("empId") );
		$("#a_form #loginUser").val( $.cookie("empId") );
		$("#a_form #isSU").val( $.cookie("isSU") );
		$("#tabs").tabs();
		$(".dialog").css("visibility", "hidden");
		
		/*	檢查是否要解決對子系統選項 的 鎖定 */
		chkIfLockSubSys();
		
		/* 取得此系統ID */
		$.post("QuerySystemList",function(reses) {
			tmp = "";
			$.each(reses.ises,function(i, res) { 
				tmp = "<option id='"+res.id+"' value='"+res.id+"'>"+res.name+"</option>";
				$("#selectSysNo").append(tmp);
			}); 
			$("h3:first").html(reses.name);
		},"JSON");
		
		/* 取得寄發人員清單 */
		$.post("QueryMailList",function(reses) {
			tmp = "";
			$.each(reses,function(i, res) {
				tmp = "<tr>"+
					"<td class='chk center'><input type='checkbox' class='tableMailListChk' id='"+res.id+"' eml='"+res.email+"' une='"+res.name+"'></td>"+	//CheckBox
					"<td class='chkRow int' >"+(i+1)+"</td>"+	//序號
					"<td class='chkRow left'>"+res.name+"</td>"+	//姓名
					"<td class='chkRow engN' >"+res.phone+"</td>"+	//連絡電話
					"<td class='chkRow engN' >"+res.email+"</td>"+	//電子郵件
					"</tr>"
				$("#tbodyMailList").append(tmp);
			});
			
			//綁定輔助點選
			$(".chkRow").bind("click",function(){
				$(this).parent("tr").children("td:first").children("input[type='checkbox']").click();
				chk("tableMailListChk");
			});
			
			refreshUI(1,"tbodyMailList",false);
		},"JSON");
		
		/**	判斷能否讓提交的按鈕出現 **/
		chkIfSubmitAble();	
		
		if (typeof (JSON) == 'undefined') { //沒有 JSON 時才讓 browser 下載 json2.js
			$('head').append($("<script type='text/javascript' src='js/json2.js'>"));
		}
		
		$("button").button();
		
		windowUnfreeze();
	}
}).tooltip();
</script>

</head>
<body>
<div id="header"></div>
<p>

<form id="q_form">
	<input type="hidden" id="loginUser" name="loginUser" />	<!-- 登入的使用者ID -->
	<input type="hidden" id="targetSystemId" name="targetSystemId" />	<!-- 要交付到那裡 -->
	
	<!-- gfl = General File List的縮寫，內容為共用程式，其滿足的需求清單  -->
	<input type="hidden" id="isGFLExisted" name="isGFLExisted" />		<!-- 此次交付是否存在共用程式 -->
	<input type="hidden" id="gfl" name="gfl" />
	
	<!-- furl = Files Under Requirement List的縮寫，內容為一個需求下所包含的程式  -->
	<input type="hidden" id="isFURLExisted" name="isFURLExisted" />					<!-- 此次交付是否存在需求 下轄 程式 -->
	<input type="hidden" id="furl" name="furl" />
	<input type="hidden" id="ml" name="ml" />															<!-- 提交出去，以JSON為格式的寄信清單 -->
	<input type="hidden" id="subsysId" name="subsysId" />
	<input type="hidden" id="delTaskComment" name="delTaskComment" />	<!-- 提交時輸入的註解 -->
</form>

<input id="sqCheck" name="sqCheck" type="hidden" >

<input type="hidden"  id="subsyses">
<input type="hidden"  id="isNotDuplicated">

<br/>

<table>
	<thead class="tableFirst">
		<tr><th class="right">選擇交付對象：</th><td class="left"><select id='selectSysNo'></select></td></tr>
		<tr><th class="right">子系統：</th><td class="left"><select id='subsysId'></select></td></tr>	
	</thead>
</table>


<label for='comment'>交付說明：</label>
<br>
<textarea id='comment' rows="5" cols="35"></textarea>

<p>
<p>
<button type="button" id="csb" onclick="clickSubmit()" >提交</button> 
<p>
	<div id="tabs">
		<ul>
			<li><a href="#tabs-1">需求與程式設定</a></li>
			<li><a href="#tabs-2">選擇通知人員</a></li>
		</ul>
		<div id="tabs-1">
			<div class="header">
				-共用程式區-
				<button type="button" onclick="addComFiles('add',null)">新增</button>	
			</div>
			<p>
			<div id="commonFilesHook"></div>
			<p><p>
			<div class="header">
				-需求下轄程式-
				<button type="button" onclick="addReqFileMixd('add','noData')">新增</button>
			</div>
			<p>
			<div id="reqHook"></div>
		</div>

		<div id="tabs-2">
			<table id="tableMailList">
				<thead class="tableFirst">
					<tr>
						<th><input type="checkbox" id="tableMailListChkALL" onClick="chkALL(this);"></th>
						<th>#</th>
						<th>姓名</th>
						<th>連絡電話</th>
						<th>電子郵件</th>
					</tr>
				</thead>
				
				<tbody id="tbodyMailList"></tbody>
			</table>
		</div>
	</div>

	<div id="reqAdd" title="選擇需求"></div>

	<div class="dialog" id="commonFileSelect">
		<button type="button" onclick="selectSVN('common')">選擇</button>
		<table>
			<tr>
				<td class="right">程式名稱：</td>
				<td class="engN"><input type="text" id="commSelName"
					size="15" readonly="readonly" value="" /></td>
					<td><button id="commSelSqu" class="cf" type="button">＊</button>&nbsp;資源群組</td>
			</tr>
			<tr> 
				<td class="right">部署方式：</td>
				<td><select id="commExeWay" class="cf engN" disabled="disabled"  fc="commonFile" onchange='selFileDepType(this)'><option>non-web</option></select></td>
				<td id="commSquLists"></td>
			</tr>
			<tr>
				<td class="right">SVN路徑：</td>
				<td class="engN" id="commSVNPath"></td>
				<td id="commSqList" rowspan="4" ><ul></ul></td>
			</tr>
			<tr>
				<td class="right">延伸路徑：</td>
				<td class="engN">
				<input class="cf" type="text" id="commDepPath" size="15" /></td>
			</tr>
			<tr>
				<td class="right">版&nbsp;&nbsp;次&nbsp;&nbsp;：</td>
				<td class="engN"><select class="cf" id="commFileVer"></select></td>
			</tr>
		</table>
		<input type="hidden" id="commVerSet" />
		<div id="reqList"></div>
	</div>

	<div class="dialog" id="reqFileComp" title="創建需求下轄程式">
	<label for="reqSelectedVal">需求：</label>
	<input type="text" id="reqSelectedVal" size="30" readonly="readonly" value="" />&nbsp;&nbsp;<button type="button" onclick="queryReqWindowOpen('underReq')">選擇</button>
	<input type="hidden" id="reqSelectedId" />
	<p>
	<div id="fileHook"></div>

	<div class="dialog" id="reqSelect" title="選擇需求" >
		<input type="hidden" id="reqFor" />
		<!-- <button type="button" onclick="queryReq()">送出查詢</button> -->
		<div class="dialog" id="reqSelectResult">
			<table>
				<thead class="tableFirst">
					<tr><td colspan='3'>※ 雙擊該列來進行選取</td></tr>
					<tr>
						<th class="center">＃</th>
						<th class="int">ID</th>
						<th class="center">需求名稱</th>
					</tr>
				</thead>
				<tbody id="reqSelectResult_tb"></tbody>
			</table>
		</div>
	</div>
	<div class="dialog"  id="squadSelect"  title="選擇資源群組">
		<div id="divWCLSel"></div>
		<table id="tableSquadSelect">
			<thead class="tableFirst">
				<tr>
					<th class="center"><input type="checkbox" id="tableSquadSelectChkALL" onClick="chkALL(this);"></th>
					<th class="center">資源群組</th>
				</tr>
			</thead>
			<tbody id="tbodySquadSelect"></tbody>				
		</table>
	</div>
	<div class="dialog" id="loading" ><label for="imgLoading" class="eyecatch" > Loading...</label><br/><img id='imgLoading' src='pic/ajax-loader.gif'></div>
</div>

<div class="dialog" id="fileSelect" title="選擇檔案">
<!-- drivenBy	區別是為了執行 "需求下轄程式"，還是 "共用程式區" -->
	<input type="hidden" id="drivenBy">
	<label for="fileName_q" >檔案名稱：</label>
	<input type="text" name="fileName_q" id="fileName_q">&nbsp;<button type="button" onclick="genSvnList('qbSVN','1')" id="qbSVN">查詢SVN</button><p>
	<div id="fileSelectResult"></div>
</div>

<form id="a_form">
	<input type="hidden" id="fc" name="fc" />
	<input type="hidden" id="loginUser" name="loginUser" />
	<input type="hidden" id="isSU" name="isSU" />
</form>

</body>
</html>